1. Field of Invention
This invention pertains to apparatus and methods for automating a sequence of basic chemistry operations. More particularly, this invention pertains to software that allows an operator to control a process through a recipe. The operator is isolated from having to manipulate the hardware to control the process.
2. Description of the Related Art
A process flow is a sequence of chemical, physical, and/or biological activities for the conversion, transport, or storage of material or energy. Process controllers manipulate hardware to ensure that a process flow is completed in a satisfactory manner. Prior art process controllers present to an operator information directly related to the hardware. Present-day process control systems use instruments, control devices, and communication systems to monitor and manipulate controlled elements, such as valves and switches, and to control the values of one or more process variables, including temperature, pressure, flow, etc. The process variables are selected and controlled to achieve a desired process objective, such as attaining the safe and efficient operation of machines and equipment utilized in the process. Process control systems have widespread application in the automation of industrial processes such as the processes used in chemical, petroleum, and manufacturing industries, for example.
Control of a process is often implemented using microprocessor-based controllers, computers, or workstations which manipulate and monitor the process by sending and receiving commands and data to hardware devices to control either a particular aspect of the process or the entire process as a whole. The specific process control functions that are implemented by software programs in these microprocessors, computers, or workstations may be individually designed, modified, or changed through programming while requiring no modifications to the hardware. For example, an engineer might cause a program to be written to have the controller read a fluid level from a level sensor in a tank, compare the tank level with a predetermined desired level, and then open or close a feed valve based on whether the read level was lower or higher than the predetermined, desired level. The parameters are easily changed by displaying a selected view of the process and then by modifying the program using the selected view. The engineer typically would change parameters by displaying and modifying an engineer's view of the process. Such an engineer's view is typically represented by a piping and instrumentation diagram (P&ID) or other representation of the hardware. In addition to executing a process, software programs also monitor and display a view of the process, providing feedback in the form of an operator's display or view regarding the status of particular process variables.
Prior art process controllers are programmed by defining parameters that affect the hardware performing the process. For example, LabVIEW by National Instruments is a software package that allows an operator to control a process through a program running on a processor. The program uses graphical objects that correspond to the engineering objects or functions in the process hardware. The software uses a block diagram that includes terminals, noted, and functions that represent the process. These elements are connected by graphical wires. The resulting block diagram is an engineering description of the process.
Specialized software packages exist for specific applications. For example, Gina Star by raytest Isotopenmessgarete GmbH is a radio-chromatography control system and GE Coincidence by General Electric Medical Systems is an FDG synthesizer control system. Both systems control a specific process through a user interface that allows the operator to manipulate the hardware and operating parameters.
Various patents disclose similar systems for maintaining process control recipes. U.S. Pat. No. 5,838,563, titled “System for Configuring a Process Control Environment,” issued to Dove, et al., on Nov. 17, 1998, discloses a software system for configuring and modifying a process control environment 100. The system disclosed by the '563 patent includes a control studio object system 130 that interacts with a template generator 120 and allows for manipulating a plurality of stencil items representing objects containing information necessary to program the process control environment 100. The stencil items are copied via a drag and drop operation to a diagram portion that represents the process control environment 100. The design environment allows creating or modifying control functions graphically with ladder logic, continuous function block, or other design languages.
U.S. Pat. No. 6,697,690, titled “Customizing process flows,” issued to Scholl, et al., on Feb. 24, 2004, discloses a method for customizing a process flow that includes receiving a recipe hierarchy describing the process flow. The '690 patent describes three types of recipes: a general recipe includes information related to the process flow without necessarily identifying the resources to be used to perform the process, a site recipe includes site-specific information with local constraints, and a master recipe includes resource capabilities and describes the recipe for a specific production on a specific line. The '690 patent discloses combining resource information and the general recipe to customize the execution of the process such that the recipe is performed with specific resources. United States Patent Application Number 2003/0195779, titled “Change management of recipes,” published for Scholl; et al., on Oct. 16, 2003, is related to the '690 patent. The published application discloses a management system for variant recipes received by a system. The recipes differ in various ways, either by the steps performed or by the results. The system groups the variant recipes according to a class characteristic.
United States Patent Application Number 2003/0196186, titled “Building blocks for describing process flows,” published for Scholl; et al., on Oct. 16, 2003, discloses a method for generating general recipes using root-independent building blocks, which are converted into a master recipe. The '186 published application describes three types of recipes: a general recipe including information related to the process flow without necessarily identifying the resources to be used to perform the process, a site recipe including site-specific information with local constraints, and a master recipe including resource capabilities and describing the recipe for a specific production on specific hardware. The '186 published application defines a recipe 100 as a hierarchy that includes a root recipe element 105, of which a recipe 100 need have only one. The root element 105 describes the process flow in general terms and includes a sequence of process stages 110, each of which can be divided into a set of process operations 115. The process stages 110 result in a planned sequence of chemical or physical changes in the material being processed. The process operations 115 are defined independently of the target equipment configuration. Each process operation 115 is further divided into a set of process actions 120. The process actions 120 describe a relatively minor processing act in relatively great detail. Accordingly, the recipe 100 is a hierarchy with four levels: a root element 105, a sequence of process stages 110, a set of process operations 115, and a set of process actions 120.
The recipe 100 of the '186 published application is assembled from root-independent building blocks 205, 210, 215, 220 that correspond to the root element 105, the sequence of process stages 110, the process operations 115, and the process actions 120, respectively. A user selects desired, appropriate building blocks using an input/output device 720, which sends the information to a central system 705. The central system 705 receives the building blocks and stores them in a library 730. The central system 705 also allows customization of the building blocks. To execute the recipe 100, the user identifies the operation system 710 to perform the process flow, and the central system 705 requests and receives the equipment capabilities stored in an equipment library 760 from the operational system 710. The central system 705 then converts, using conversion logic 755, the identified general recipe into a master recipe, which is transmitted to the operational system 710 for execution.
Process control software is used extensively in the semiconductor industry. For example, U.S. Pat. No. 5,901,062, titled “Semiconductor structure design and process visualization through the use of simple process models and intuitive interfaces,” issued to Burch, et al., on May 4, 1999, discloses a semiconductor structure design and process visualization tool for adding, editing, or deleting process steps to create a process flow. The tool disclosed in the '062 patent creates processes from simple abstract models using physical parameters of the resulting device layer rather than specific process conditions needed to form the structure, such as process chemicals used, temperature, and duration.
U.S. Pat. No. 6,415,193, titled “Recipe editor for editing and creating process recipes with parameter-level semiconductor-manufacturing equipment,” issued to Betawar, et al., on Jul. 2, 2002, discloses a universal recipe editor is for off-line viewing and editing of semiconductor-manufacturing recipes. Semiconductor processing, inspection, metrology, and measurement machines each require a set of operating instructions (a processing program) or a “recipe”. The recipe for each machine defines the operations and engineering parameters necessary for the machine to perform a particular operation or process. Because the machines have different formats and requirements for specifying its unique recipe, the '193 patent discloses an off-line editor of machine recipes. U.S. Pat. No. 6,665,575, titled “Recipe editor for editing and creating process recipes with parameter-level security for various kinds of semiconductor-manufacturing equipment,” issued to Betawar, et al., on Dec. 16, 2003, is a division of the '193 patent.
United States Patent Application Number 2003/0222905, titled “Recipe recorder for automated chemistry,” published for Wiernga, et al., on Dec. 4, 2003, discloses a recipe recorder that allows for the recording of the execution of recipe for later editing or playback. The '905 publication identifies two problems with automated chemistry systems. First, programming such systems is time consuming and takes the chemist away from tasks for which the chemist is better trained. Second, the ability to program such systems is a skill that few chemists possess, which results in others without the chemistry skills performing the programming or the chemist attempting to program the system. Either approach is subject to errors and inefficiencies.